


as long as i got you

by stardustkiss



Category: Minecraft (Video Game), Video Blogging RPF
Genre: Alternate Universe - College/University, Angst and Romance, Anxiety, Arguing, Awkward Crush, Awkward Flirting, Awkwardness, Best Friends, Bickering, Confessions, Cuddling & Snuggling, Developing Relationship, Dreams and Nightmares, Eventual Relationships, Eventual Romance, Fluff, Fluff and Humor, Fluff and Hurt/Comfort, Forehead Kisses, Friends to Lovers, Friendship/Love, Getting Together, Happy Ending, Literal Sleeping Together, Love Confessions, M/M, Mentioned Alexis | Quackity, Mentioned Wilbur Soot, Mild Hurt/Comfort, Miscommunication, Misunderstandings, Nightmares, Not Actually Unrequited Love, Play Fighting, Relationship Advice, Romantic Fluff, Sad and Happy, Secret Crush, Sharing a Bed, Shyness, Sleepy Cuddles, Worry, aha its 4am aha fuccck aha
Language: English
Status: Completed
Published: 2021-02-02
Updated: 2021-02-02
Packaged: 2021-03-13 12:33:49
Rating: General Audiences
Warnings: Creator Chose Not To Use Archive Warnings
Chapters: 1
Words: 9,553
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/29153613
Author URL: https://archiveofourown.org/users/stardustkiss/pseuds/stardustkiss
Summary: sapnap has developed feelings for his roommate karl, but is hesitant to confess out of fear of losing him and what they have as friends.
Relationships: Karl Jacobs & Sapnap, Karl Jacobs/Sapnap
Comments: 14
Kudos: 290
Collections: Cute works





	as long as i got you

**Author's Note:**

> hello! this was uh. supposed to be short. a short fluffy karlnap oneshot to cheer me up. but uh. as you can see. it is not short, and it’s a little more complicated than just fluff. 
> 
> i love to make things complicated for myself!
> 
> nonetheless i hope you enjoy! ive been working on this for a little over two days! hehe! 
> 
> title from pretty boy by the neighbourhood!

it was early december, frost biting at the grass, snow piling up along the pathway, bare trees shaking in the windchill. sapnap stood outside the campus coffee shop, hands deep in the pockets of his open jacket and nose buried in the orange and white wooly scarf wrapped around his neck. 

he didn’t think it would be this cold today, he was constantly underestimating the weather and overestimating his ability to power through it. his messy black hair was hidden underneath his beanie, the hood of his hoodie pulled over top of that. his hair was getting longer, but he hadn’t gotten it cut because he knew his roommate would complain.

as if on cue, the coffee shop door swung open, bell announcing the arrival of karl jacobs. sapnap glanced over his shoulder, shifting towards him with a small raise of his eyebrows. 

“i thought you’d be way happier to see me,” karl murmured, bundled up with his brown checked scarf, white beanie and oversized parka. he held a large travel mug of hot chocolate up to sapnap and smiled when his hands instantly shot out of his pockets to grab it. “and you made fun of me for wearing mittens.” 

“that’s not why i made fun of you,” sapnap reminded him, warming his cold hands on the hot cup and sighing in relief. “it’s because they have eyes.” 

“and? dude, you’re such a hater.” karl pulled his fluffy hood over his head and held his own drink in his brown mittens. they did have eyes, and ears and a nose, because they were puppy mittens. “you’re mad you don’t have the drip.” 

“i’m not mad, you’re such an idiot.” sapnap exhaled, fond smile on his face as the two of them walked down the sidewalk, their footprints marking the blanket canvas of snow. “did you get me vanilla bean?” 

“you wanted vanilla bean?” karl gasped lightly, turning to sapnap with a surprised expression and sapnap groaned in disappointment.

“karl…that’s all i wanted…” sapnap’s shoulders slumped, looking down at his hot chocolate with a soft frown. karl nudged him with his elbow, leaning against his arm gently.

“of course i got you vanilla bean, who do you think i am? some sort of bad roommate? no shot.” karl opened up the top of his cup and softly blew on the steam coming out of it. “i got it too, so we could match.” 

sapnap shook his head, biting at his bottom lip when karl hooked his arm with sapnap and walked slowly beside him. it was crazy how close they’d gotten, it was like it happened overnight.

they’d been roommates for a little over a year, but they originally met through a gaming tournament about four months before that. it was a freak coincidence, that sapnap had moved for college and his roommate was the guy he met on a minecraft server who wouldn’t stop flirting with him. they had never met again online, both treating it as a one time bit. obviously the universe had other plans. 

he’ll never forget them meeting in their dorm room, introducing themselves and eyeing each other in confusion for thirty seconds. they had recognized each other just after that, and basically became inseparable. the flirting hadn’t slowed down either, which was very confusing for sapnap, but he didn’t know if he wanted it to stop either. he was in a sort of limbo, hesitant to make a move but terrified of the dynamic changing.

it was comfortable, it was fun, it was all they’d ever done. sapnap didn’t do very well with change, but he’d definitely thought about it a lot. he’d hate to have misinterpreted anything karl had ever said or done, it was all in good fun, and he had to remind himself.

“you don’t even have your jacket zipped up.” karl said suddenly, breaking their comfortable silence. “no wonder you’re shaking and complaining.” he handed his hot chocolate to sapnap and stepped in front of him. karl began to zip up his jacket for him and sapnap tried not to stare. 

“shaking, maybe. but complaining?” sapnap scrunched up his nose, watching karl tuck his scarf in slightly and then hold his hand out for his drink again. sapnap pressed it into his palm and their fingers brushed, which was enough for sapnap to jolt. 

“yeah, you’re a big complainer,” karl took a small sip of his hot chocolate, wandering back to his side and continuing to walk. “you’re too cold, you’re too hot,” karl mumbled, readjusting his mittens. “i have to agree, you’re too hot nick.” 

sapnap pretended that he didn’t choke on his vanilla bean hot chocolate but that’s exactly what happened. he held back his coughs to spare himself even a crumb of dignity, and he was lucky karl wasn’t paying enough attention to realize what was happening. he also was lucky it was so cold that his cheeks were already pink in the first place. 

“yeah? are you complaining about that?” sapnap did the only thing he knew how to do, match his wavelength and start one of these back and forths. karl shook his head easily, eyebrows furrowing as he pointed at him with one finger on the hand still around his cup.

“no no, if anything i’m thrilled. i get a nice view.” karl replied like it was obvious, he was so quick and witty that sapnap had to work to keep up. 

“well, i can’t take all the credit. you’re definitely nice to look at as well.” sapnap swallowed the lump in his throat as the words left his mouth, and karl made a very pleased sound. he grinned brightly, his own cheeks flushed but sapnap figured it was because of the cold. 

“you treat me so well,” karl took a long drink of his hot chocolate and then hummed. “wanna get married? in minecraft?” he batted his eyes, peeking up at sapnap through his ridiculously long lashes. he was so pretty it was unfair.

“it would be my honour.” sapnap said with a soft smile, heart racing in his chest when karl laughed loudly and sunk back into his fuzzy hood a little bit.

“cool,” karl whispered, quickening his pace and giggling in the way he always did when he was getting a little bit giddy, a tad overwhelmed. “let’s go home. i just remembered the box of donuts we have waiting, i could eat a dozen.” 

“we only have a dozen.” sapnap followed after him, not bothering to match his pace. karl spun around, walking backwards and shrugging his shoulders.

“well, none for you then.” karl turned back around, beginning to rush down the sidewalk. sapnap laughed breathlessly, chasing after him because he’d be damned if all the donuts were gone. the next ten minutes were spent giggling helplessly and slipping about on the pavement, gasping for breath and grabbing onto each other when a patch of ice snuck up on them.

this was it, this was what sapnap wanted to preserve. the way his chest got all tight when karl laughed. the way his heart throbbed when he smiled at something dumb he said. the way he couldn’t even try to be mad when karl grabbed onto him and dragged them both down, because he was touching him, and he relied on him. this couldn’t change, or rather, sapnap didn’t want to lose it. 

karl sat on the edge of his bed, blanket tied around his neck like a cloak and grey sweatpants tucked into his fuzzy purple socks. he had already had two donuts, and warmed his hot chocolate back up because he couldn’t drink it fast enough. his laptop sat on the bottom of his bed, playing cartoons and making background noise for him.

sapnap walked back into their dorm room after using the bathroom, locking the door behind him and yawning loudly. he woke up early this morning to work on a project, and then couldn’t go back to sleep so he facetimed dream (who was only a few halls over) until he had to go to class. he was running on five hours of sleep, the sugar in his system keeping him going.

he tightened the loose ponytail in his hair, keeping his messy hair off of his neck. sapnap looked up at karl, who was sipping on his drink while staring at his laptop. he was wearing a light blue hoodie, too big on him, and sapnap’s stomach did flips when he made the connection. 

karl was wearing sapnap’s hoodie, one of his favourites actually. he had just taken it off the back of his desk chair and put it on, he was wearing it yesterday. meaning it smelled of sapnap’s cologne and probably the coconut from his conditioner. karl was buried in the hoodie, hands tucked warmly inside of the sleeves. 

“what’s up? you look lost,” karl muttered, eyes raising from his screen. sapnap was just standing in the middle of the room, hand pressed against his stomach as butterflies floated around in there. “tummy hurt?” he whispered in understanding, the amount of times he’d had to take care of sapnap who had a stomach ache was uncountable at this point. 

“uh yeah.” sapnap babbled awkwardly, patting his stomach for emphasis and shrugging his shoulders. karl patted the bed softly and urged sapnap to come sit down. sapnap cleared his throat slowly, and then made his way over to plop down on the bed. 

“quit worrying me,” karl added, leaning back against sapnap’s chest the second he had the chance to. he was always like this, so casually touchy and physical. and it wasn’t just to sapnap, but all his other friends too, especially his main friend group. sapnap didn’t know if that made him feel better or worse, it’s almost like he wanted to be special but it also made him incredibly nervous to even think about.

“i don’t mean to, sorry,” sapnap whispered under his breath, the weight of karl against his chest felt so right, it was so worrying how used to this he got. he reached around karl, pushing back against him and retrieving his gatorade from the bedside table. 

karl was thankful for moments like this, when he was facing away from sapnap so he couldn’t see the way his eyes widened whenever he returned even a smidge of the physical affection. even if he was just leaning forward, his chest was pressed up against his back, arm around him, heart beat close enough to feel. it made karl blush all the way to his ears, he looked down at the mattress, fluffy brown hair flopping over his eyes and hiding the tender expression that creeped up onto him.

he knew this was dumb, because this was his roommate and this was just how they interacted. karl knew he liked hugs, and hanging off of friends, and just touching them at all times. but it was different with sapnap, he could still remember the first time he had gotten a hug. it stuck with him for this whole year. it was just a simple ‘see you soon’ hug but sapnap’s arms hooked around his back and his hands splayed against his thin shirt and he could feel the heat through the material. 

his hands were so big and if karl thought hard enough he could feel the memory of them rubbing his back comfortingly. he didn’t even remember the first time it made his heart leap, because it’d been doing it for so long. it was stupid, karl knew that, they were just roommates and most of it was just playing around.

but it felt so real when sapnap held him through a nightmare, or dropped him off to class, or took time out of his day to get him breakfast, or fell asleep beside him, or played with his hair, or kissed his cheek. 

sapnap’s bottle cap fell onto the laptop’s keyboard and karl was brought back down to earth. he glanced over, sapnap was lounging back on his elbows, guilty look on his face as the bright orange plastic was faceup in the centre of the keyboard.

“what are you even trying to do?” karl laughed quietly, grabbing the cap and setting it on sapnap’s thigh. that was an incredibly risky move but he often moved before thinking, so when he pulled away he could hear his conscience screaming loudly at him. 

“just tryna have a sip,” sapnap murmured sadly, grabbing the cap off of his leg and holding it tightly in his hand. “sorry i’m not perfect jacobs, i make mistakes sometimes.” he dramatically whispered, tilting his head back and drinking his blue gatorade.

“you’re trying to make me feel bad,” karl looked over his shoulder at sapnap, getting hit with instant regret. he watched his adam’s apple bob each time he swallowed, stared at his jawline and the way his hair fell onto his forehead. his hair, god karl loved his hair. 

“mm,” sapnap hummed around the bottle, pulling it away from his mouth and licking his lips. “what’s this about again? i don’t know what the hell’s happening.” he gestured to the laptop screen and karl looked incredibly scandalized and offended.

“um okay. as if i didn’t explain it to you last time, and i never shut up about it. cool.” karl shot a judging look at sapnap, it was all in good fun, but he hated the way his face fell and he hurriedly sat further up.

“no, no, karl, _karl_ ,” sapnap quickly began to explain himself, the second call of his name particularly soft. karl let it show on his face, the way sapnap could say his name and he would melt. “i know you explained it last time, and i know,” sapnap turned around and retrieved a plushie of a character from the show. “i know you talk about it a lot. i just forgot, please?”

karl stared at sapnap with a plushie in his arms and he couldn’t even pretend to be mad. he wondered how weird it would be if he just pulled out his phone and took a picture. sapnap touched karl’s knee and karl almost leapt out of his body at the feeling. 

“last time? i’ll never ask again, swear.” sapnap tried again, squeezing at his knee and a shudder went through karl’s body, right up his spine. he had to get his mind off of sapnap and fast, he looked at the laptop and sighed loudly.

“fine, you’ve convinced me. so essentially in the very first episode…” karl was then launched into gushing about the plot points and world building of the show. he barely even stopped to breathe as he spoke, beginning to speak with his hands which were still covered by the sleeves of sapnap’s hoodie. occasionally he brushed away a piece of hair from his forehead, never missing a beat of his excited explanation.

sapnap rested against the pillows, comfortably reclined with the famous puppycat wrapped in his arms. he knew what the show was about, he’d seen it three times with karl, he’d listened every single time he explained it. he just liked watching karl talk about things he loved, he liked to see karl light up and enthusiastically wave his hands, he liked when karl giggled to himself, he liked when karl messed up a detail and backtracked, he liked the soft flush of his cheeks when he realized how long he’d been going on for. 

he liked karl. sapnap swallowed the lump in his throat as he watched him continue to talk, tilting his head to the side and looking up at the ceiling as he tried to recall details. sapnap squeezed the plushie tighter, he liked him so much. karl’s eyes met sapnap’s and both of them had a quiet moment of forgetting what they were doing.

karl tripped over his own words, nervously laughing at himself while sapnap’s smile was pressed up against his plushie. god he liked sapnap. karl turned back to his laptop and waved his sleeve at the screen. there was about four minutes left of this part. they both sat without saying another word, watching the show, though it was impossible to hear over their hearts racing in their chests.

when they had finished watching cartoons for the night they had a sudden burst of energy which made them dive headfirst into karaoke. they used the space between their beds as their stage, sapnap using his empty gatorade bottle as his mic while karl laughed happily at the ridiculousness of it all. 

they mostly sang high school musical songs because karl wouldn’t stop queueing them, but they threw in some camp rock, and some adventure time. bouncing around their dorm room singing at the top of their lungs had never felt so good. it had never been so freeing and so much fun. 

karl hopped up onto his bed, bouncing around as he sang, out of breath and barely hanging on. sapnap laughed, falling back onto his own bed and clutching his stomach. karl spun around, commentating on his own ‘360’s’ and ‘backflips’ when neither of those things happened. sapnap got back to his feet and hopped around beside karl’s bed, embracing the voice crack and making karl laugh so hard he bumped into the wall his bed was pressed up against.

‘this is me’ was blasting as karl jumped off of his bed onto the floor, and there was a loud knock at the door. both of them froze and karl looked at the clock. he gasped quietly, pausing the music and pointing wildly at the clock sitting on his desk. it was quiet hours, and they were screaming camp rock lyrics. karl buried his face in his hands, laughing so hard he couldn’t get any sound out.

sapnap held back his laughter as he answered the door as casually as possible, having a quiet but serious conversation with the ra. he apologized profusely, reassuring the ra that it would never happen again and it was just them losing track of time. 

when the door was locked again, sapnap leaned back against it and stared at karl who had pulled sapnap’s hoodie over his face in embarrassment, just his eyes peeking out. sapnap’s lips pursed together, brief chuckle leaving him before karl broke into laughter again. 

the room erupted in laughter, until they both couldn’t breathe and were crying. the more they tried to talk about it the harder they laughed, sapnap couldn’t even get across the room because it was so funny. he barely got to his bed before he grabbed the bedframe to stabilize himself, now his stomach actually hurt.

speaking of stomachs, a deafening grumble came out of karl’s and both of them shut up immediately. karl plopped down on his bed with a loud creak and he smiled sheepishly.

“oh shit,” sapnap whispered, he sniffled a little bit and grabbed his wallet off of his bedside table. “let’s get dinner, your choice, my treat.” he stuffed his wallet into his pocket and grabbed his jacket before karl could even stand up.

“oh!” karl blinked a few times, leaping to his feet and grabbing his phone from his crumpled up bedsheets. sapnap was always like this, offering to pay for things before karl could even process what was going on. “okay! thanks,” karl reached for his own jacket, watching sapnap slip into his shoes and rest against the door as it was his turn to watch karl get ready.

“of course,” sapnap replied easily, pulling out his phone and thumbing through notifications. mostly text messages, some from his school email, some from twitter. karl stepped into his shoes, adjusted the laces and then reached for the doorknob beside sapnap. his phone was back in his pocket, he moved aside and the two of them left their dorm. 

it was late but that’s what karl and sapnap did best. they ate at a local family owned diner, grilled cheese and french fries and chicken strips and soda and brownies with ice cream on top. then they didn’t go straight home because late night walks were their trademark and if they didn’t take advantage of the empty campus, then it just wouldn’t be them. 

halfhearted parkour ensued, like it always did. small jumps from bench to bench, hopping over a garbage bin, leaping down the stairs, riding the rail down. they erupted into giggles every chance they got, the cold was biting their noses again, making them sniffle and wipe at them every few minutes. 

after a while karl had secured himself a piggyback from sapnap, chin against his shoulder and the biggest grin on his face. sapnap’s arms were hooked under karl’s knees, holding him steady as they wandered closer to their dorm hall with no plans to head back anytime soon.

“am i heavy?” karl asked quietly, his voice tickling sapnap’s ear and making him jolt a bit. karl chuckled under his breath, murmuring an apology before wrapping his arms around sapnap’s neck.

“nah, don’t worry your pretty little head.” sapnap replied, readjusting his grip on karl and continuing his path. it was quiet for a few moments, just sapnap humming and karl swinging his feet shyly. 

“mhm, i won’t then,” karl leaned his head against sapnap’s neck, happy shiver coursing through his body as he nuzzled his nose against skin. sapnap recoiled a little, tilting his head and shakily sighing. 

“your nose is cold,” sapnap complained, making his way towards the stairs outside of the dining hall and humming to himself again. “i could go for vending machine gummy worms.” 

“sorry, you’re comfy,” karl murmured, pushing his nose further against sapnap and inhaling lightly. his eyes fluttered shut, it was bad enough he was wearing his hoodie but now he was surrounded by sapnap. he was going to miss the nape of his neck, it was rare he ever let him this close, especially for this long. “don’t wanna, keep holding me.” 

“wow, so demanding,” sapnap kept walking, looking around the dimly lit school grounds and mentally planning their next route. “can’t believe you’re using me for my body like this.” he said softly, climbing the stairs quietly and then turning to the right. 

“shut up,” karl flushed red, hiding his face in the fluff of sapnap’s hood and squeezing him tighter. “it’s not my fault i feel so safe with you.” 

it was quiet for a while, the words hanging in the air like a snowflake. was that weird to say? should he have kept that to himself? did karl just mess this all up after precariously picking his actions for the past year? was this it? he was beginning to feel trapped by himself. 

“then who’s fault is it?” sapnap decided to say, voice hesitant, even a little shaky. so maybe he was overwhelmed too. maybe karl didn’t ruin their friendship forever. maybe karl didn’t have to run away and change his name. 

“yours.” karl answered, turning his head away from sapnap and resting his cheek against the nape of his neck. “i don’t know, you make me feel like nothing bad can touch me. that doesn’t even make sense, but, with you i feel so like myself and you’ve never once made me feel bad for it. i feel… free? maybe?” 

“is that a good thing?” sapnap was having trouble processing the words, so used to double meanings and missing the point. so used to being taken advantage of and his blind loyalty coming back to bite him.

“yeah, you’re a good thing,” karl looked through the boughs of trees lining the campus at the stars twinkling above them and he cleared his throat. “i’ve never felt like this before.” 

sapnap nibbled at the bottom of his lip. that couldn’t possibly mean what he thought it meant. he couldn’t jump to conclusions and assume it meant anything close to what he was thinking. he knew they were good friends, instantly clicking and never stopping even after a year. their fights were petty, usually jokes, or easily fixed. they were each other's comfort person. 

he wanted to press a little further, wanted to beg karl to elaborate on what “this” meant, but he shied away from it. somehow the thought of karl confirming he was a good friend both hurt him and made him happy. it was a tricky line to walk, but sapnap was too scared to completely fall off of it and end up with karl not by his side anymore. this was okay. it had always been okay. 

as long as he was beside karl, he would be okay.

“can i borrow a pen?” sapnap sat at the very back of the classroom, prodding george in the elbow with his finger. george didn’t look away from the powerpoint at the front the class, diligently typing his notes.

“no.” george said simply, figuring it was what sapnap deserved for forgetting to charge his laptop when he knew he had a day completely full of classes. sapnap poked at his elbow a little more, gentler this time and george moved onto the next subsection of notes. “in my bag, the blue pouch.” he mumbled, still not looking away from his work.

sapnap leaned over in his chair, grabbing george’s bag from underneath the table and opening it up. he rooted around looking for his pencil case, getting distracted by everything else in there. 

“can i have a piece of gum?” sapnap asked, already taking one and holding it while he waited for an answer. he looked at his books, his candies, and was so desperate for entertainment he started reading his hand sanitizer.

“fine.” george rolled his eyes, still writing his notes as he kicked his bag back under his chair. “this is what you get for being so occupied with being bad at flirting that you forget to charge your laptop.” he said under his breath.

sapnap whipped his head up to look at george incredulously, unfortunately he didn’t make it that far and smacked his head against the desk. he groaned in pain and george covered his mouth before he could laugh in delight that sapnap had gotten hurt. 

he hunched over in pain, holding his head in his hands and tapping his feet as if that would help. sapnap scratched at his head, sitting back up and exhaling slowly. the professor was going off on a tangent, so george pulled away from his laptop for once.

he leaned down for his bag, pulling out the blue pouch and then a pen. he set it down on top of sapnap’s closed notebook, and then ruffled his hair gently.

“who the hell would i even be flirting with?” sapnap mumbled, batting away george’s hand and opening his notebook clumsily. “stupid idiot.”

“you’re the one who slammed your head into the table,” george chided under his breath, watching the professor to make sure they wouldn’t get in trouble for talking. sapnap popped the pencap onto the back of the pen and got to work, sure it would be out of order but he just needed to do something. “and who else? your roommate. don’t even try to pretend i’m wrong.” 

“i don’t flirt with karl.” sapnap said, copying down the title from the slide and then nervously adjusting his grip on the pen. “not like… seriously…so yeah maybe i’m bad at it.” he shrugged his shoulders, jotting down the bullet points with urgency as the professor kept gesturing to the presentation as if she was going to switch slides. 

“wow, i wasn’t expecting you to admit that so easily,” george pulled up his messages on a smaller window on his laptop and began typing responses, mainly to his group project groupchat and his study group groupchat. “i’m almost proud of you… almost…” 

“you’re such a jerk,” sapnap shook his head as he managed to write down the last word as the slide changed and he got that burst of adrenaline he needed. he began writing the notes down with a new found motivation, even having time to write neatly. “are you going to help me or not?” 

“no, good luck,” george answered simply, not even going to entertain the idea of helping sapnap flirt with his roommate. in fact it was one of the worst ideas he’s ever had put into his brain. “how about cut to the chase and just tell him?”

“yeah okay, as if you can say that. you’re blunt until it actually matters, then you start dancing around everything and avoiding the question.” sapnap grumbled unhappily, not caring if it was a sore spot because frankly karl was his sore spot and george was being so unhelpful. george was clearly not expecting this level of psychoanalysis at 1pm on a tuesday, but here he was. he forgot that sapnap was one of his closest friends and therefore, could read him like a book. which was unnerving, and unfair, but he guessed he was thankful he didn’t have to explain himself.

“okay, new idea,” george knew he was avoiding again but he really didn’t know what else to do here. it was the easiest way out and it’s what he knew. “we talk about this after class before we genuinely hurt each other’s feelings and you cry to dream and dream lectures me.” 

“okay.” sapnap agreed without a moment’s hesitation, he acknowledged starting this in the middle of class was probably not the way to go. but he was tired, and frustrated, and george could take it. “does dream actually lecture you…?” sapnap couldn’t help but feel a little cocky knowing he had dream sticking up for him.

“shut up, i’m busy.” george snapped, which only confirmed sapnap’s suspicion that it was the truth. sapnap giggled to himself, going back to his notes with even more energy than before. whatever, george would let him have this. he needed it after all. 

  
  


“i’m not picking sides, this is a completely unbiased opinion,” dream spoke around his energy drink, messy dirty blonde hair poking out from under the hood of his hoodie, falling into his tired green eyes.

“what? we’re not asking you to pick sides.” george crossed his arms over his chest, wandering down the hallway with dream and sapnap. 

“okay. you chase me down and ask me to agree with you, come on.” dream may be half awake and running on monster but his brain was terrifyingly wired. it was impossible to pull a fast one on him. 

“idiot,” sapnap jostled george with his elbow and then rushed to keep pace with dream who did the annoying tall person thing of walking fast without even trying. “gimme your opinion, i swear you won’t hurt my feelings, i can take it.” 

“well.” dream raised his eyebrows at the claim, pulling away from his drink and smacking his lips a few times. his other hand was shoved into the pocket of his sweatpants, holding onto his phone. “i think you’re going to regret not saying something, or doing something. i know you’re scared but i think taking the chance is always worth it.”

“he’s on my side, told you.” george murmured slyly, thrown completely off guard when sapnap grabbed him by the front of his sweater and shoved him backwards. 

“hey, hey, behave,” dream held his hand out towards sapnap , pressing his palm to his chest and softly patting him. “you’re going to hurt george.”

“you’re always sooo concerned about him, what about me huh?” sapnap huffed in frustration, shoving his hands into his pockets and glaring at george who was hiding behind dream’s shoulder with a sly little grin on his face. 

“because you can and have almost thrown him down the stairs, and he cannot and has not.” dream reminded sapnap, tilting his head back and swallowing the last of his monster. “no i’m not saying that to stroke your ego, i’m saying that to remind you not to hospitalize him.” dream held his empty can out towards sapnap who took it without second thought and veered off to the nearest bottle recycling bin. 

“okay i think i’d rather have a broken bone than have you admit that out loud to my face.” george said from slightly behind dream, eyebrows furrowing. dream shrugged his shoulders, he was just telling it like it was. it was 3:30pm and he had a 2 hour class in 15 minutes, he had slept for 4 hours and was on his 3rd monster. he didn’t have the capacity to function as well-oiled as he usually did.

“sorry, you know what i meant,” dream looked back at george, who was watching sapnap join them again, unbothered by the previous events. “listen, nick, i know it’s scary, i know. but if you genuinely have these feelings you want to act on and the only thing stopping you is fear, i think you owe it to yourself to express them. you don’t have to rush either, you can go slow, and you can be subtle. i’m here, george is here, we’ve got you.” 

the three of them walked in silence for a while, sapnap staring ahead of him as dream’s words sunk into his mind and really processed. george looked at sapnap and then looked at dream and then they both watched the youngest struggle with emotional turmoil. 

“yeah. yeah,” sapnap cleared his throat and squeezed his shaky hands into fists a few times. “i know you’re here, always here.” he exhaled, wiggling his hands to try and get rid of some of his nervous energy. 

“good… don’t forget it.” dream pulled his phone out of his pocket and narrowed his eyes at the screen. “i have to go to class, i’ll try to call you before i sleep.” he extended an arm towards sapnap and sapnap quickly hopped into the hug. dream rubbed at his back comfortingly, giving him an extra squeeze before pulling back and expectantly looking at george. 

sapnap opened his arms up towards george, feeling all warm and fuzzy from a big hug from their best friend. george pulled a face, he wasn’t a fan of being touched in general, so this was always a bit awkward for him. after an uncomfortable forty seconds of not moving in for a hug, george gave up and took a step towards sapnap.

he hugged him softly at first, he knew george wasn’t a toucher and so he wasn’t a hugger either. he didn’t hate it, he just wasn’t used to it and didn’t seek it out. sapnap held him tighter because he knew he wouldn’t be able to do this for a long time, and george gradually melted at the way sapnap actually wanted to be close to him. 

“alright, i’m gonna be late.” dream turned on his heels, offering a lazy wave as he began to walk away from them. sapnap pulled away from the hug and watched him get further down the hall.

“kay, love you!” sapnap said simply, waiting in suspense for the reply. it was was about a 70% chance that dream said it back, it depended on his mood. 

“love you too!” dream called back, not even turning back to look at him or make any effort to slow down. sapnap grinned brightly, feeling infinitely better as he turned back to george and straightened his posture. 

“you’ve gotta rush to get your books, right? since wilbur needs the room to himself today.” sapnap grabbed his phone from his pocket and began unraveling his earphones. george stared blankly at him before he realized sapnap was completely right and he turned the opposite way dream had just gone.

“yes, and i’m supposed to meet alex in 30 for our project, oh god,” george began to inch away from sapnap, nodding in the general direction he was going. “see you later, good luck, i’ll call, maybe!” he was already rushing off when sapnap opened up his spotify and started shuffling one of his playlists.

he had a bit more confidence after talking to his most trusted friends. even if they pretended not to like each other, and they fought like toddlers, they’d do anything for each other. and that was the important part, that they showed up when it mattered. sapnap definitely felt a lot better, a little less anxious, but still not very courageous.

wednesday evening was cramming time, sapnap was sitting at his desk feverishly studying for his exam in the morning, eyes heavy and hand cramping up. he was overly confident in his ability to remember everything at once, working on rewriting notes, making flashcards and flowcharts in one sitting. the more he wrote it the more likely he was to recall the information.

he had already had dinner, showered, and cleaned up his side of the room, so he had essentially no distractions. he even had lofi playing in the background so not even lyrics could throw him off.

sapnap had been working hard for forty minutes when the door opened and karl came back from whatever he was up to. last sapnap heard he went to the library.

“hi, i’m back,” karl quietly announced, shrugging out of his jacket and toeing his shoes off at the same time. “i brought some cinnamon buns if you want a snack.” the answer to snacks was always yes. 

“welcome back, i’d love one,” sapnap pushed away from his desk, capping his pen and cracking his knuckles gently. karl retrieved a plastic fork from the canvas tote bag hanging from his arm and he gave it to sapnap. then he grabbed a container with a large cinnamon bun inside of it and handed it over. “thank you, i’m kinda starving.” he opened it up and got right into it.

“no problem, i couldn’t stop myself from buying them,” karl went to his desk and pulled his chair over to sit beside sapnap. he flopped down with a sigh, leaning back and stretching out his back. “i was hanging out with alex and then we bumped into dream.” 

“ohnoway?” sapnap spoke around his mouthful of cinnamon bun, always surprised to hear who karl was hanging out with because he was so social it was a little overwhelming sometimes. “did he stick around?” he swallowed his mouthful of food and karl reached up to stroke his fingers through sapnap’s hair.

sapnap stopped processing anything in that moment, eyes darting over karl’s face to try and gauge what the hell was going on right now. his heart went a million miles a minute in his chest, eyes betraying him because he knew his pupils dilated. 

“yeah, he stuck around,” karl scooted closer, their knees brushed and sapnap bit down on the fork in his mouth. what was going on? why was he getting so close? sapnap was going to choke on his cinnamon bun and that was going to be it for him. “wow your hair is so long now, it’s always so fluffy when you wash it, can i braid it again?” karl casually murmured, and sapnap made a noise of realization. 

everything was okay, karl just wanted to braid his hair. which would have been incredibly flustering if he hadn’t done it at least a dozen times by now. sapnap nodded his head and karl retrieved the hairtie that was sitting on sapnap’s wrist, that did fluster him a bit he wasn’t going to lie.

karl’s fingers brushing over the skin of his wrist, sliding underneath the hair tie and moving up his arm towards his palm. sapnap pretended that it wasn’t driving him crazy and he wanted it to last forever, but he wasn’t being very convincing in the way his eyes were glued to karl’s fingers touching him.

“you’re really lucky to have a friend like dream,” karl said suddenly, tickling sapnap’s palm with his fingertips as he pulled the hairtie completely off of his hand. sapnap was caught off guard by the comment, raising an eyebrow and looking back up at him.

he was completely right, but sapnap couldn’t help but think it came out of nowhere. sure they mentioned dream, but he didn’t think it would be more than ‘yeah we hung out and grabbed food’ and yet here they were. should sapnap be worried? he distracted himself with his cinnamon bun, averting his eyes.

“yeah… he’s really great.” sapnap replied, and of course he honestly believed it. nobody else would put up with all of him. absolutely everything about sapnap, dream had seen and accepted. “did he do something?” 

“oh, kinda,” karl cleared his throat, now it was his turn to become flustered. he slid his fingers through sapnap’s hair and parted it into three strands. he was just playing around, not trying to make anything perfect and presentable. he just liked the way sapnap’s hair felt against his skin, liked the way sapnap leaned into the touch without noticing, liked the scent of coconut wafting off of him. “i dunno, he just talks so highly of you and you can tell he loves you… it’s nice…”

“he talks about me?” sapnap didn’t mean to react like a young girl who had just discovered her crush from the other class actually acknowledged her existence, but here he was, cheeks even going pink to prove how overwhelmed he was with this information. 

karl paused, eyes flickering over sapnap’s face and taking in this reaction. he hadn’t expected that, in fact he hadn’t expected it at all. karl bit back a frown, instead replacing it with a smile, albeit a little forced. he said it himself, sapnap was lucky. it was better to know now rather than later, his hopes weren’t that high, they were pretty high, but he could manage it, probably.

“mhm,” karl managed, hating how his voice strained a little bit, he had purposely not used his words because he knew it would be hard to mask his emotions. 

sapnap poked at his food, oblivious as he let himself bask in the information a little more. dream had been his best friend for a long time, and he’d been really good at helping him out, really good at taking care of him. sapnap owed a lot to dream, and sometimes he worried he was just some annoying kid he couldn’t shake, but now he knew the truth, and he was so excited it was almost disproportionate.

“that’s crazy,” sapnap shook his head, eating another bite of his cinnamon bun and humming in thought. “he’s my best friend but sometimes i wonder if i’m his, y’know? does that make sense?” he munched on his snack, using his empty fork to emphasize his words. “but that made me feel a lot better, i know i’m his best friend too now. man, that feels good, when feelings are returned, so good.” sapnap sighed in relief, scooping up a bigger part of his food as karl slowly braided his hair.

karl had basically forgotten how to braid as he watched sapnap become so happy knowing his relationship with dream had been reaffirmed. he also lost track of his own thoughts because everything was happening so fast. sapnap thought of dream as a friend, his best friend. and he would be happy if feelings were returned. but were they returned? 

his arm cramped up a little and he winced in sudden pain, dropping his hands from sapnap’s hair and squeezing his arm weakly. sapnap jolted slightly, putting his cinnamon bun and fork down then reaching for karl’s arm. 

“you good?” sapnap hurriedly asked, wondering what even happened in that span of 30 seconds of silence. karl felt sapnap’s hand wrap around his arm, around the brown and grey sweater he was wearing, and goosebumps rose on his skin. 

“cramp,” karl breathed out, making accidental eye contact with sapnap and proceeding to internally freak out at how close they were. “my arm cramped.” he cleared his throat, cheeks turning rosy when sapnap squeezed his arm a few times.

sapnap tried to make it not so obvious he was staring at karl, but was he blushing? or did he just make it up because he wanted to believe he was? sapnap leaned in a smidge to inspect and then stopped himself when he realized. he sat with his back against his chair and grabbed his cinnamon bun so fast that it almost jumped out of its container.

karl let out a small gasp, he hadn’t meant to, he really hadn’t meant to. but he swore to god sapnap just leaned in and then bailed last second. what? karl didn’t know what to do, what to say, how to react. he had to be imagining that, right? 

they sat in a prolonged, uncomfortable silence, for way too long. sapnap’s cinnamon bun was almost completely gone, his hair was half braided, karl’s hands had dropped to his lap, face still painted with surprise.

“i’m gonna shower,” karl pushed his chair back further than he had to, and stiffly got out of it. he moved it back to his desk and awkwardly collected his pyjamas he set out earlier. “be right back.” karl added, because the silence was killing him. 

sapnap finished his cinnamon bun when the door closed behind karl and then he proceeded to bury his face in his hands. it was official, he was stupid, and he messed it all up. god, he was an idiot. 

sapnap didn’t even know if he wanted to be here when karl came back, the amount of tension he caused was tangible and he hated it. why couldn’t he just be normal? why couldn’t he just talk to karl like he usually did? why did he have to lean in to see if his cheeks were that pretty pink he liked so much? 

he couldn’t bring himself to leave the dorm because the thought of karl being ditched made his heart hurt even more than it did now. so sapnap did what he was best at, avoiding his problems via a nap. 

he abandoned his homework, throwing away his garbage on the way to his bed and then instantly burying himself in his blankets. they came over his head and he shoved his face into his pillow. he could’ve screamed if he had the guts to, but he didn’t want to risk being heard, so he mentally screamed.

karl probably thought he was so weird, and probably gross. oh god, he probably thought he couldn’t take a joke. sapnap allowed himself a loud groan of frustration, scream rising in his throat but he held it back. he had to go to sleep, before he beat himself up even more.

karl had to do a few walk arounds of the dorm hall before he had the guts to open the door again. he was gone for at least 55 minutes which was absurdly long for a shower and he knew, but he spent most of it sitting on the bathroom counter catastrophizing and then standing idly under the water and then running around the hall. 

when he walked back into their room, he saw sapnap wasn’t sitting at his desk anymore and he automatically assumed the worst. sapnap fucking hated him and left and now karl was alone forever, the end. he shut the door and was debating whether or not to lock it when he heard a creak and saw sapnap rolling over under his blankets.

he was still here, karl was blushing again. he got all upset over nothing. he just went to bed, he didn’t go anywhere. karl put down his shower stuff, tossing his dirty clothes into his hamper and then sitting down on his own bed. sapnap definitely had the right idea. he should sleep it off, and then everything will be fine in the morning, they’ll just go about their days normally.

karl woke up in a cold sweat, body shaking and heartbeat pounding in his ears. he couldn’t breathe, he couldn’t see. he always had nightmares like this, terrifying him to the very core and leaving him doubting reality when he came to.

he brought his hands up to rub at his face, only to find that he was crying, and he didn’t know until now. karl wiped away his tears, only for more to tumble down his cheeks. he felt so numb. 

with a small whimper, he sat up in his bed and fought the urge to hyperventilate, holding himself back so much that it hurt. in his delirium, he didn’t know what else to do, he stood up from his bed and tiptoed to sapnap’s bed, leaning his knee against it.

“nick…?” karl croaked out, he was shivering so hard he could barely stand up. his head felt light, throbbing with pain and stress. he let out a quiet sob, he felt so pathetic right now he didn’t even know what to do. he couldn’t be alone right now. “nick, please,” 

sapnap groaned weakly from underneath his blankets, pushing them away from his face and then forcing his eyes open. his eyes were extremely heavy, and the only thing that could probably get him awake so quickly was karl’s tear stained face.

“ _fuck_ ,” sapnap scrambled to sit up in his bed, pushing hair out of his face and reaching forward for karl immediately. “karl? what’s wrong? what happened? are you alright?” sapnap grabbed onto karl’s arms and his eyes flickered over him anxiously.

“i don’t know,” karl whispered, voice rough. he put his hands out towards sapnap and sapnap immediately opened his arms. he tumbled into his arms, the both of them falling backwards into the bed, karl clinging to him desperately. “i got so scared, i’m scared,” 

“i’ve got you, you’re safe,” sapnap wrapped his arms around karl tightly, pressing him up against his chest. karl buried his face in sapnap’s neck, eyes shut tightly as he tried to steady his breathing. sapnap was so warm, so familiar, so incredibly safe. 

he held karl until he collected himself enough to carry a conversation, stroking at his hair and gently playing with the ends of it. karl deeply inhaled against sapnap’s neck, he was here, he hadn’t gone anywhere.

“i’m sorry,” karl whispered, raising his head slightly and smiling when sapnap pushed his hair out of his face for him. “i had a nightmare.” he finally said, leaning into sapnap’s palm that stroked over his cheek, wiping away any tears that were left.

“don’t apologize,” sapnap brushed his thumb over the tear trails on karl’s cheek, his touch was so gentle that karl didn’t know what he was going to do with himself. he dropped his hand from karl’s face and instead held his arm, lightly stroking it. “are you feeling better now?”

karl nodded his head, sniffling and raising a hand to rub at his nose. sapnap smiled up at him, not being able to hold back a grin when karl smiled back. this definitely wasn’t where either of them thought they’d be at 4am, but here they were.

“i dreamt that you left me behind, you forgot about me, and couldn’t see me…” karl explained under his breath, shrugging his shoulders and then lazily attempting to fix his hair. “i can’t lose you,” he swallowed the lump in his throat.

sapnap looked up at karl, watching the way his wet eyelashes stuck together and his eyes shone when he looked at him. they were still pressed against each other, so close that sapnap could feel karl’s heart racing. karl could probably feel his doing the same.

“you won’t lose me.” sapnap reassured him, eyes flickering over karl’s face when karl reached over and pushed sapnap’s hair out of his face. he leaned down and pressed a kiss to his forehead, afraid he’d chicken out and lose his edge if he didn’t do it the second he thought about it.

“can i… stay here tonight?” karl asked shyly, even though it was way too late to play the whole shy card. he’d already climbed in his bed crying, laid on top of him, refused to let go and then kissed him on the forehead. he was more embarrassed than anything.

“yeah, you can sleep here tonight.” sapnap buried his fingers in karl’s hair and gave it a soft ruffle. “and any other night, if you really want to.” he guided karl’s head down towards him and karl held his breath, definitely blushing now if he hadn’t been. 

sapnap kissed karl on the forehead and karl bit his bottom lip, averting his gaze immediately. the silence was comfortable again, allowing them to feel quietly but together. 

“cool.” karl replied lamely, grimacing immediately when his own voice reached his ears. he quickly hid his face against sapnap’s chest, refusing to let himself be seen in this state. somehow that was worse than waking him up while crying, this was mortifying.

“yeah?” sapnap laughed pleasantly, always happy to tease karl for being extremely cute. karl nodded his head weakly, reaching his hand around until he grabbed onto sapnap’s and held it gingerly. “cool.” he echoed.

karl was comfortable enough to begin considering going back to sleep again, both of their heart rates had settled down. their fingers intertwined slowly and karl let out a shaky sigh but most of it was muffled. it felt so good, he’d been wanting to be held like this for months. 

“can we give this a try?” karl prepared himself for the worst, bracing himself to be hurt, expecting one last twist of misunderstanding. sapnap rubbed slow circles on karl’s back, swallowing the lump in his throat.

“i’d like that.” sapnap breathed out, smiling like an idiot when karl giggled right up against him. he could definitely get used to this. “i’ve uh… wanted this for a while…” he admitted, earning a playful scoff from karl.

“idiot. i’ve been waiting.” karl mumbled, heart swelling when sapnap hugged him close. if he wasn’t careful his heart was going to start racing again and he wouldn’t be able to calm down. karl tilted his head up slightly and kissed sapnap on the jaw. then he lost his confidence and tucked himself back against his chest. 

“that’s so unfair,” sapnap chuckled, shifting until he was comfortable and then closing his eyes. “let’s get breakfast before class tomorrow, a small date.”

“don’t say that, i won’t be able to sleep,” karl complained, but he really wanted him to keep going. he wanted to hear about everything sapnap had wanted to say to him all this time, because he bet they were the same things he wanted to say too. afterall they’d both been playing it safe the exact same way for months. 

“that sucks, i’m going to sleep like a baby.” sapnap mumbled, already half asleep as he said it. karl rolled his eyes but he couldn’t even pretend to be mad, his voice was low and drawn out, falling asleep as he talked. 

karl rested his ear right over sapnap’s heart, his eyes fluttered closed and he listened to the gentle beating. he was real, he was here, he was safe, he was his.

his. karl curled up against his chest, feeling incredibly full when sapnap’s hand clutched at the back of karl’s shirt subconsciously. even if it was incredibly frustrating to have taken so long to get to this point, he didn’t think he would trade it for the world.

he wouldn’t want anything to go any different, because this was their story, this was them. he didn’t want anything else, he didn’t want anyone else. he’d wanted sapnap almost as long as he’d known him, and now here he was, his heartbeat lulling him to sleep.

they were falling asleep in each other’s arms, exhausted and giddy. then in the morning they were going to be numb and laugh about it, then go have breakfast together. it wouldn’t be a regular meal, it would be the first meal they’ve ever had together where they knew their feelings were reciprocated.

karl grinned to himself, snuggling up against sapnap even closer and sighing in relief. he was right, it felt so good, knowing he felt the same way about him. they didn’t have to tiptoe around each other anymore, they didn’t have to pretend they weren’t feeling anything.

in all honesty karl had forgotten all about the nightmare he had that even sparked his desperation to get this over with, the fear of losing sapnap had just lost all potency immediately. all it took was the admittance that they both had wanted each other all this time, and karl wasn’t scared of losing him anymore.

he wasn’t going to lose him. he relaxed as he finally began to drift off, the pain of the headache settling in as he no longer could ignore it. he was going to sleep knowing that sapnap liked him the same way he did. and he’d wake up beside him, knowing this was just the beginning for them.

karl knew wherever he went, sapnap would be there with him. and he was more than happy to have him by his side. sapnap was the only thing karl needed with him, when he was here, he knew it would be alright.

**Author's Note:**

> okay but why is my favourite part of this entire thing dream. he’s just funky little tired college student with dark circles, an unhealthy reliance on monster, and dumb friends. the imagery of him wandering around with a big green hoodie with no fucks is so funny to me. 
> 
> ANYWAYS. back to karlnap. classic not talking to each other and overthinking. inescapable. torturous. but it all works out in the end! cuddles and forehead kisses! yay! 
> 
> thank you so much for reading! its 4am and im chilling with punz’s stream but i really should go to bed...hmmm...


End file.
